package com.niiwoo.civet.trade.enums;

import com.niiwoo.tripod.provider.exception.NoSuchEnumValueException;
import lombok.AllArgsConstructor;
import lombok.Getter;

/**
 * 用户处理方案 0. 其他资料修改 1. 个人信息-基本信息修改 2. 个人信息-职业信息修改 3. 身份认证-身份证OCR修改 4. 身份认证-肖像认证修改 5. 运营商认证授权 6. 信用卡认证授权 7. 社保认证授权 8. 提额认证-学历认证授权 9. 提额认证-京东认证授权
 */
@Getter
@AllArgsConstructor
public enum ReturnProjectProcessSchemeEnum {

	OTHER_INFO((byte)0, "其他资料修改"),
	PERSONAL_INFO((byte)1, "个人信息-基本信息修改"),
	PROFESSION_INFO((byte)2, "个人信息-职业信息修改"),
	OCR((byte)3, "3. 身份认证-身份证OCR修改"),
	PORTRAIT_AUTH((byte)4, "4. 身份认证-肖像认证修改"),
	OPERATOR_AUTH((byte)5, "运营商认证授权"),
	CREDIT_CARD_AUTH((byte)6, "信用卡认证授权"),
	SOCIAL_SECURITY_((byte)7, "社保认证授权"),
	XUE_LI_AUTH((byte)8, "提额认证-学历认证授权"),
	JD_AUTH((byte)9, "提额认证-京东认证授权"),
	TAOBAO_AUTH((byte)10, "淘宝认证授权"),
	;

	private Byte processScheme;
	private String desc;

	public static ReturnProjectProcessSchemeEnum enumOf(Byte processScheme) {
		for (ReturnProjectProcessSchemeEnum processSchemeEnum : values()) {
			if (processSchemeEnum.processScheme.equals(processScheme)) {
				return processSchemeEnum;
			}
		}
		throw new NoSuchEnumValueException("ReturnProjectProcessSchemeEnum:" + processScheme);
	}

	public static String getDesc(Byte processScheme){
		for (ReturnProjectProcessSchemeEnum processSchemeEnum : values()) {
			if (processSchemeEnum.processScheme.equals(processScheme)) {
				return processSchemeEnum.desc;
			}
		}
		return null;
	}
}
